import { TODO_ADDTASK, TODO_DELBYID, TODO_UPDATEBYID } from './actionType';

export const udpateByIdActionCreator = (payload) => {
  return {
    type: TODO_UPDATEBYID,
    payload,
  };
};

export const delByIdActionCreator = (id) => {
  return {
    type: TODO_DELBYID,
    payload: id,
  };
};

function loadNewTodoAPI() {
  const newTodo = {
    task: '异步返回的任务',
    id: Date.now(),
    isDone: false,
  };
  console.log('开始请求');
  return new Promise((resolve) => {
    setTimeout(() => {
      console.log('请求成功，2秒后,数据返回');
      resolve(newTodo);
    }, 2000);
  });
}

export const addTaskActionCreator = (task) => {
  return async (dispatch) => {
    const newTodo = await loadNewTodoAPI();
    dispatch({
      type: TODO_ADDTASK,
      payload: newTodo,
    });
  };
};
